package map01;

/*
//其实根本不存在HashSet
//因为HashSet底层全部依赖HashMap
//那么两者的底层核心数据结构都是哈希算法
public class HashSet<E>{

    HashMap<E,Object> map;

    static final Object PRESENT = new Object();

    //当我们创建一个HashSet的时候(new HashSet())
    //底层会创建一个HashMap
    public HashSet() {
        map = new HashMap<>();
    }

    //HashSet的add方法底层使用的是HashMap的put方法
    //HashSet的add(元素)==相当于===> HashMap的put(元素,new Object())
    //也就说HashSet添加的元素 相当于 HashMap的 key
    public boolean add(E e) {
        return map.put(e, PRESENT)==null;
    }


    //HashSet的remove本质上使用的是HashMap的remove(key)
    public boolean remove(Object o) {
        return map.remove(o)==PRESENT;
    }

}*/
